package com.runoob.shape;

import com.runoob.draw.DrawAPI;
import com.runoob.shape.Shape;

/**
 * 圆形
 * <p>
 * 由于父类将图形中的画图拆解，故在实例化本类时，需要将拆解部分初始化。
 * </p>
 *
 * @author zenglei
 * @date 2023/06/05/ 13:59
 */
public class Circle extends Shape {

    private int x, y, radius;

    /**
     * 实例化圆时，将圆的参数，及{@link com.runoob.draw.DrawAPI}接口实现初始化
     * <p>
     *
     * </p>
     *
     * @param x x
     * @param y y
     * @param radius 半径
     * @param drawAPI {@link com.runoob.draw.DrawAPI}画图接口
     * @return null
     * @throws
     * @author zenglei
     * @date 2023/6/5 14:15
     */
    public Circle(int x, int y, int radius, DrawAPI drawAPI) {
        super(drawAPI);
        this.x = x;
        this.y = y;
        this.radius = radius;
    }

    /**
     * 画图
     * <p>
     * 调用父类画圆方法；这里实际调用的是初始化本类时{@link com.runoob.draw.DrawAPI}接口的实现类
     * </p>
     *
     * @throws
     * @author zenglei
     * @date 2023/6/5 14:14
     */
    public void draw() {
        super.drawAPI.drawCircle(radius, x, y);
    }
}
